﻿using Unknown.Framework.Injection;
using Unknown.Source.Entity.NormalView;

namespace Unknown.Source.Business.Coder
{
    /// <summary>
    /// 数据类型处理接口
    /// </summary>
    public interface IDataTypeHandler : IObject
    {
        /// <summary>
        /// 构建数据类型
        /// </summary>
        /// <param name="column">字段</param>
        /// <returns>结果</returns>
        string BuildDataType(Column column);

        /// <summary>
        /// 构建赋值方法
        /// </summary>
        /// <param name="column">字段</param>
        /// <returns>结果</returns>
        string BuildAssign(Column column);

        /// <summary>
        /// 构建默认值
        /// </summary>
        /// <param name="column">字段</param>
        /// <returns>结果</returns>
        string BuildDefaultValue(Column column);

        /// <summary>
        /// 构建数据库类型
        /// </summary>
        /// <param name="column">字段</param>
        /// <returns>结果</returns>
        string BuildDatabaseType(Column column);
    }
}
